1. Field of Invention
The present invention relates to dynamic content addressable memory (CAM), and more specifically to dynamic content addressable memory cells suitable for constructing high-speed, large-capacity dynamic CAM arrays.
2. Description of the Background Art
Content addressable memory (CAM) is a memory in which a group of memory elements are selected or identified by their content, rather than by their physical location. Generally, CAM includes a matrix of CAM cells arranged in rows and columns. Each CAM cell stores one bit of digital data and includes a circuit to allow comparing the stored data with externally provided search data. One or more bits of information in a row constitute a word. A content addressable memory compares a search word with a set of words stored within the CAM. During a search-and-compare operation, an indicator associated with each stored word produces a comparison result, indicating whether or not the search word matches the stored word.
There are several known approaches to CAM cells in the art. A journal paper by Kenneth J. Schultz entitled xe2x80x9cContent-addressable Memory Cells-A Surveyxe2x80x9d published in Integration, the VLSI Journal, Vol. 23, pp. 171-188, 1997 describes several CAM cell designs and summarizes the advantages and disadvantages of each. Some of the prior art CAM cells use a static storage element while others use a dynamic storage element. Dynamic storage elements occupy a smaller area on a semiconductor substrate and are therefore preferable to obtain a larger memory capacity on a single integrated circuit chip. Another advantage of the dynamic storage cell is a potential for ternary storage where in addition to the 0 and 1 state, a third xe2x80x9cdon""t carexe2x80x9d state can be stored by having similar charges on the two storage capacitors. The original 5-transistor dynamic CAM cell was published by Mundy el al. in xe2x80x9cLow-cost associative memoryxe2x80x9d IEEE Journal of Solid-State Circuits SC-7 (1972) 364-369. See also U.S. Pat. No. 3,701,980 to Mundy. FIG. 1 illustrates the dynamic CAM cell of Mundy et al. redrawn and re-labelled for consistency with an illustration of the present invention given in FIG. 2. As shown in FIG. 1, the prior art first CAM cell 1 has a dynamic storage element in the form of capacitors C1 and C2 which are accessed at bit lines BL1 and BL2 via transistors T1 and T2 respectively. A write or a read operation is performed by turning T1 and T2 on using the word line WL while the match line MLi is held low to permit date transfer from BL1 and BL2 to C1 and C2, and vice versa. In a search and compare operation, T1 and T2 are held off by a low WL signal, while BL1, B2 and MLi are precharged high. Search data is then driven on BL1 and BL2. If the data stored on C1 is high but search data driven on BL1 is low, current i1 will discharge the MLi through T4 and T3. Similarly, if the data stored on C2 is high and the search data driven onto BL2 is low, the MLi will discharged. If the search data applied to BL1 and BL2 match the data stored on C1 and C2 respectively, no current path exists from MLi to either BL1 or BL2 and the MLi remains at the precharged high level. FIG. 1 also shows a second CAM cell 2 in a different word, which has a different matchline, MLi-1. The voltage level of MLi-1 in a search operation is also influenced by the search data placed on BL1 and BL2 and the values stored on C3 and C4.
There are two disadvantages associated with the prior art CAM cell of FIG. 1. First, the capacitance of bit lines BL1 and BL2 varies depending on the data stored in individual CAM cells connected to those bit lines. Second, the voltage on any one match line (e.g. MLi or MLixe2x88x921) obtained during a search-and-compare operation depends not only on the data stored in one word, but also data stored in other words within a given subarray of CAM cells. This occurs because the bit line drivers T3 and T4 have limited current capability, but may be required to discharge several match lines, depending on the data content of cells associated with BL1 and BL2 (e.g. data stored in the first cell 1 and the second cell 2).
These disadvantages place a limit on the number of cells that can be connected to one particular bit line, thereby limiting the size of a subarray and making it more difficult to design a reliable circuit for detecting voltage levels on match lines.
Several variations from the original proposal by Mundy et al. exist in the literature. These include the CAM cell published by Wade ans Sodini in: xe2x80x9cDynamic corss-coupled bit line content addressable memory cell for high density arraysxe2x80x9d, IEDM Digital Technology Papers (1985), 284-287. See also U.S. Pat. No. 4,831,585 to Wade and Sodini. Another improved CAM cell which uses a dynamic latch circuit, was published by Jones in: xe2x80x9cDesign, Selection and Implementation of a content-addressable memory: alternatives to the ubiquitous RAMxe2x80x9d, IEEE Computers 22 (1989), 51-64. Yet none of these cited improvements adequately address the problem of variations in bit line capacitance and match line voltage detection.
Kadota et al. presented one static CAM design in: xe2x80x9cAn 8-Kbit content-addressable and reentrant memoryxe2x80x9d, IEEE Journal on Solid State Circuits SC-20 (1985), 951-957. See also U.S. Pat. No. 4,823,313 to Kadota. In this design, a pair of active pull-down circuits are used between the match line and a ground terminal, each consisting of two transistors in series; the gate of one transistor is connected to one of the two cells nodes and gate of the other transistor is connected to the corresponding bit line. With the storage device being of the static type, the CAM cell in the Kadota design is limited to binary storage. In order to be able to store a third xe2x80x9cdon""t carexe2x80x9dstate, an additional storage device would be required.
All the prior art CAM cells referenced above use their bit lines both for the write and read operations for the search-and-compare operations. Such an arrangement places some constraint on the overall operational speed of the CAM cell array. This problem can be alleviated by using search lines for carrying the search data during a search-and-compare operation while using the bit lines only for the write and for the read operations, such as the design published by Bergh et al. in: xe2x80x9cA fault-tolerant associative memory with high-speed operationxe2x80x9d, IEEE Journal on Solid-State Circuits SC-25 (1990), 912-919. This design uses a static memory which is again limited to a binary storage capability. Futhermore, the seach lines in this design are connected to the source or drain terminals of the comparison circuit, causing a heavy loading on the search line thereby causing a relatively high power consumption, and a slower search-and-compare operation.
In view of the above, there is clearly a need for a CAM cell configuration that demands relatively lower power consumption, offers a relatively faster search-and-compare operation with a relatively more stable match line voltage and bit line capacitance, while providing a ternary storage capability.
An object of the present invention is to provide a improved dynamic content addressable memory (CAM) cell suitable for constructing relatively high-speed and large-capacity CAM arrays, having binary and ternary storage capability.
In accordance with a first aspect of the present invention, there is provided a content addressable memory. The content addressable memory includes at least two pairs of bitlines coupled to opposite sides of at least two sense amplifiers in an open bitline configuration. Each bitline of each pair of bitlines is coupled to one of the at least two sense amplifiers, and plurality of ternary dynamic content addressable memory cells are coupled to each of the at least two pairs of bitlines.
In a presently preferred embodiment of the present invention, the at least two pairs of bitlines on each side of the at least two sense amplifier are of equal length, and each ternary dynamic content addressable memory cell is couple to a pair of search lines, a matchline, a word line and a discharge line. In a further aspect of the presently preferred embodiment of the present invention, the pair of search lines are parallel to the bitlines. Furthermore, each ternary dynamic content addressable memory cell includes a first storage portion, a second storage portion and a comparison circuit. The first storage portion stores one data bit carried on the other of the at least two pairs of bitlines. The second storage poriton stores one data bit carried on the other of the at least two pairs of bitlines. The comparison circuit compares the two stored data bits with two search bits carried on the pair of search lines. The comparison circuit can include a first pull down circuit in parallel with a second pull down citcuit for coupling the matchline to the discharge line. The first and second pull down circuits can each include a pair of transistors connected in series between the matchline and the discharge line, the pair of transistors having gate terminals connected to one of the pair of search lines and one of the storage nodes respectively.
In another aspect of the presently preferred embodiment of hte present invention, the first and second storage portions each include an access transistor having a drain terminal connected to one of the at least two pairs of bitlines and a source terminal connected to a storage node. A storage capacitor is connected between the storage node and a cell plate voltage terminal.
In yet another aspect of the presently preferred embodiment of the present invention, the storage capacitor is a stacked capacitor, and the discharge line is selectivley coupled to a low voltage terminal having a predetermined voltage level between those of a power supply terminal and a ground terminal. In a further embodiment of the present aspect, the discharge line is coupled to a ground terminal through a current limiter, and the current limiter includes a transistor having a gate coupled to a power supply terminal.